/** 对比模式 */
export enum ModeEnum {
  /** 字符 */
  CHAR = 'char',
  /** 单词 */
  WORD = 'word',
  /** 图像 */
  IMAGE = 'image',
  /** 文件 */
  FILE = 'file'
}

/** 输出格式 只在mode为multiLine时生效*/
export enum OutputFormatEnum {
  /** 上下分行比对 */
  LINE_BY_LINE = 'line-by-line',
  /** 左右分栏比对 */
  SIDE_BY_SIDE = 'side-by-side'
}

/** 高亮程序语言 只在mode为multiLine时生效 */
export enum LanguageEnum {
  PLAINTEXT = 'plaintext',
  JSON = 'json',
  YAML = 'yaml',
  JAVASCRIPT = 'javascript',
  JAVA = 'java',
  PYTHON = 'python',
  SQL = 'sql',
  XML = 'xml',
  BASH = 'bash'
}

/** 左侧配置栏基础参数类型 */
export interface ConfigSettingType {
  key: string;
  type: string;
  label: string;
  list?: {
    label: string;
    value: string | boolean;
    disabled?: boolean;
  }[],
  inputType?: string;
  tip?: string;
}

/** 左侧配置栏类型 */
export interface ConfigType {
  mode: ModeEnum;
  language: LanguageEnum;
  outputFormat: OutputFormatEnum;
  trim: boolean;
  maxHeight: string;
  filename: string;
  context: number
}
